package entity;

// 人员父类（抽取学生和教师的共性）
public abstract class Person {
    // protected属性：子类可见，同包可见，其他包不可直接访问
    protected String id;
    protected String name;
    protected String gender;

    // 父类构造方法
    public Person(String id, String name, String gender) {
        this.id = id;
        this.name = name;
        this.gender = gender;
    }

    // 抽象方法：打印课表（子类必须实现）
    public abstract void printSchedule();

    // Getter方法（供其他包访问属性）
    public String getId() { return id; }
    public String getName() { return name; }
    public String getGender() { return gender; }

    // 同包可见方法（测试权限）
    void samePackageMethod() {
        System.out.println("Person类的同包可见方法");
    }
}